#include <stdio.h>
#include <stdlib.h>
 
void initArr(int *arr, int size, int (*ptrFun)()){
    for(int i=0;i<size;i++){
        // 此种做法耦合度太高
        // arr[i]=rand();
        // 改为回调函数，进行解耦操作
        arr[i] = ptrFun();
    }
}

int main(void){
    int nums[5];
    // initArr(nums,5);
    // 解了模块initArr内部和rand的耦合度
    // 现在只要一个函数，能生成int随机数，返回值是int,没有参数
    // 都可以使用
    initArr(nums,5,rand);
    for(int i=0;i<5;i++){
        printf("%d ",nums[i]);
    }
    printf("\n");
    return 0;
}

// todo: 自己实现一个普通函数，试试传给initArr()